1. Field of the Invention
The present invention relates to the field of computer aided design (CAD). More specifically, the present invention relates to methods and apparatuses for translating mechanical design assemblies (including their constraints or associativity) from one representation to another.
2. Background Information
With the advance of computing technology, mechanical designers have long since turned to computer-aided design (CAD) software to assist them in designing ever more complex mechanical designs. To-date, numerous CAD software are available from different vendors. Examples of these CAD software include but are not limited to SolidWorks ProEngineer and Mechanical Desktop available from Autodesk, Inc. of San Rafael of CA, assignee of the present invention.
With the proliferation of the different CAD software available in the marketplace, mechanical designers (typically of different organizations) often find themselves having to translate the mechanical designs of each other, as they collaborate and share their designs. The reason being, even though fundamentally all CAD software use geometric primitives and solid modeling (in the case of 3D parts) to describe mechanical parts, but different vendors employ different data formats and/or organizations, as well as different modeling approaches. That is, different CAD software will model a geometry, such as a line, with different number of geometric primitives of different kinds, or a solid, such as a 3D cylinder, with different solid models. As a result, the process of translation involves not only conversion from one data format/organization to another, but also from one modeling approach to another. Thus, in the translation of a 2D geometry, such as a line, more or less geometric primitives (potentially of different kinds) may result, and in the translation of a 3D solid, typically, a solid model is approximated by a collection of surface geometric entities instead.
As a result of the ever increasing need for mechanical designers to collaborate and share their designs, numerous data interchange formats and part translation techniques, tools and utilities are known in the art. However, in the real world, increasingly mechanical designers are working with assemblies that are made up of ever increasing number of parts. Further, these assemblies have assembly constraints or associativity (hereinafter, simply constraints), such as one sub-assembly or part is to “mate” with another in a particular manner, other sub-assemblies or parts are to be “flushed” with each other, and so forth, as the sub-assemblies and parts are joined together to form the assemblies. Thus, having only parts translation is no longer sufficient for mechanical designers dealing with complex assemblies having a large number of sub-assemblies and/or parts, as well as assembly constraints. What is needed is an effective approach to assist mechanical designers in translating assemblies in substantially their entirety.